package com.campus.secondhand.model.dto;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.NotNull;

import lombok.Data;

/**
 * 更新求购信息的DTO
 */
@Data
public class PurchaseRequestUpdateDTO {

    /**
     * 求购标题
     */
    @NotBlank(message = "标题不能为空")
    private String title;

    /**
     * 求购内容描述
     */
    @NotBlank(message = "内容描述不能为空")
    private String description;

    /**
     * 预算金额
     */
    @Positive(message = "预算金额必须大于0")
    private BigDecimal budget;

    /**
     * 商品分类ID
     */
    @NotNull(message = "商品分类不能为空")
    private Long categoryId;

    /**
     * 联系信息
     */
    private String contactInfo;

    /**
     * 过期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expireTime;

}